home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Software Vault: The Diamond Collection
/
The Diamond Collection (Software Vault)(Digital Impact).ISO
/
cdr35
/
validt10.zip
/
VALIDATE.DOC
< prev
next >
Wrap
Text File
|
1995-03-01
|
20KB
|
473 lines
===========================================================================
===========================================================================
============================ =============================
============================ =============================
============================ VALIDATE =============================
============================ =============================
============================ =============================
===========================================================================
===========================================================================
VALIDATE - An integrity checker and virus detector for programs and files
VALIDATE is Copyright (C) 1995
by
Pinnacle Software, CP 386 Mount Royal, Quebec, Canada H3P 3C6
U.S. Office: Box 714 Airport Road, Swanton, Vermont 05488 USA
Support Line (514) 345-9578 --- Free Files BBS (514) 345-8654
Internet: pinnacl@cam.org -- WWW: http://www.cam.org/~pinnacl
---------------------------------------------------------------------------
| |
| |
| This is a SHAREWARE product. That means we would like you to |
| pass around unregistered copies to other people. If you have |
| a modem, you can upload a copy to a local BBS, or give a copy |
| to a friend or associate. |
| |
| |
---------------------------------------------------------------------------
===========================================================================
USER MANUAL OVERVIEW
===========================================================================
This user manual contains the following sections...
What is VALIDATE?
Sample Applications
The Program Package
Simple Virus Tester
Installation
Licensing
Using VMAKE
The LST File
Creating the LST File
Running VMAKE
Using VALIDATE
Runnning VALIDATE
Command-line Parameters
Using VALIDATE in a Batch File
Renaming VALIDATE
Custom Encryption Parameters
Error codes
How Reliable is VALIDATE?
Suggestions for Using VALIDATE
Watch VALIDATE in Action
===========================================================================
WHAT IS VALIDATE?
===========================================================================
VALIDATE is a software package that lets you test files to see if they have
been altered in any way, or if files are missing from a program package.
The VALIDATE package comprises two main programs:
VMAKE: Reads a list of file names from a text file (which is usually
named VALIDATE.LST), then compiles and encrypts a validation
file, usually named VALIDATE.VIF. (VIF stands for Validation
Information File).
VALIDATE: Reads the VIF file and checks to ensure that each file is the
same length and contains the same information, as determined
when VMAKE was run.
===========================================================================
SAMPLE APPLICATIONS
===========================================================================
-------------------
The Program Package
-------------------
Here is a typical scenario for using the VALIDATE package:
1) You create a program package, consisting of many files (programs, data,
documentation etc.)
2) You modify the main program (or main batch file) to call up the program
VALIDATE.EXE when it starts up.
3) Using VMAKE, you create a list of the files you want to check. This
creates a VIF file (usually named VALIDATE.VIF).
4) You add the files VALIDATE.EXE and VALIDATE.VIF to your package. The
file VMAKE.EXE should NEVER be added to the package.
5) You ship the package!
When the user runs the main program, VALIDATE will check the files. If any
files are missing, or have been altered, VALIDATE will display a message
telling the user to contact you. It will then set a return code (which the
calling program can test) to indicate success or failure. If VALIDATE
reports a failure, your program can give additional instructions on how to
reach you.
-------------------
Simple Virus Tester
-------------------
The VALIDATE package can also be used as a simple virus detector. For
example, you could call it up in your AUTOEXEC.BAT file to check that your
COMMAND.COM file has not been altered.
===========================================================================
INSTALLATION
===========================================================================
All of the files in the VALIDATE package should be placed in a separate
directory (named VALIDATE, for example). This directory should be made
available via the DOS PATH command. (For details about the PATH command,
consult your DOS manual.)
Unless otherwise instructed (via the /L and /V parameters) VALIDATE and
VMAKE always look for their files (e.g. VALIDATE.VIF and VALIDATE.LST) in
the current logged directory. So if you are currently in the directory
C:\MYPROG and VMAKE is in C:\VALIDATE, VMAKE will look for its LST file
in the directory C:\MYPROG.
===========================================================================
LICENSING
===========================================================================
VALIDATE is available in three versions:
SHAREWARE: Shareware means that you are entitled to evaluate the program
at no cost for a reasonable period (about 45 days). If you continue to use
it after that, you are required to purchase a registered copy ($17 for a
single-site license -- see the file ORDER.FRM for site licensing details.)
You may not include VALIDATE.EXE in a production program package unless you
have registered your copy of VALIDATE (see below).
REGISTERED: When you register a shareware copy, you will receive the
latest version, plus an unlocking code that will let you register any new
shareware versions that we release for a period of two years. To check if
we have released a new version, you can check our free files BBS or our
World Wide Web site.
Once you have registered your shareware version, you can include the
VALIDATE program in any of your products. Any number of people can use
the registered VALIDATE package at a single site.
RETAIL LICENSE: You can sell complete, registered copies, complete with
documentation, in return for royalties. The terms depend on volume and
advance payments. The license is $100 plus the following royalty scale:
Non-exclusive, no prepayment, no guarantees ------------------- $1.00/copy
Non-exclusive, no prepayment, guarantee of 10,000 copies ------ $0.50/copy
Non-exclusive, prepayment for 10,000 copies ------------------- $0.15/copy
Non-exclusive, prepayment for 25,000 copies ------------------- $0.10/copy
One-language exclusive for continent, 10,000 copy prepayment -- $0.30/copy
One-language exclusive for continent, 25,000 copy prepayment -- $0.20/copy
If you would like to obtain a retail license, please contact us to request
the retail license contract appropriate to your requirements.
===========================================================================
USING VMAKE
===========================================================================
NOTE: For a summary of VMAKE syntax, enter VMAKE /? at the DOS prompt.
------------
The LST File
------------
VMAKE reads a text file (usually named VALIDATE.LST) to obtain the list of
files you want VALIDATE to check. The format of the file is as follows:
- Each file name must appear on a line by itself
- Null or blank lines are ignored
- Lines that start with a semi-colon are ignored
- Leading tabs and spaces are ignored
You can add a comment after each file name, as long as it is separated from
the file name by at least one space or tab character.
Here is a sample of a LST file:
; This is considered a comment line, since it starts with a semi-colon
MYPROG.DOC
MYPROG.DAT This is a comment
MYPROG.EXE This is another comment
MYPROG.XYZ
You should never include files that will normally be modified by the user.
For example, if you have a database, which the user is supposed to update,
VALIDATE would report an error if it tested the database after it had been
altered.
---------------------
Creating the LST File
---------------------
The LST file is generally prepared using a text editor. However, one quick
way to generate the file is to redirect the DOS DIR command. If you have a
recent version of DOS, try this command:
DIR *.EXE /b >MYFILE.LST
The /b switch means "bare listing", meaning that only the file names are
shown. The >MYFILE.LST part of the command directs the output to the
file MYFILE.LST. You can then use a text editor to remove any files that
are not necessary.
-------------
Running VMAKE
-------------
The simplest way to run VMAKE is to type VMAKE at the DOS prompt. This
will read the file VALIDATE.LST and create the file VALIDATE.VIF.
You can specify alternative file names, using command-line parameters, as
follows:
PARAMETER MEANING EXAMPLE
--------- -------------------- ----------------------------------------
/L Alternative LST file VMAKE /Lmyfile.lst
/V Alternative VIF file VMAKE /Vmyfile.vif
LST files do not have to have an extension of LST. VIF files do not have
to have an extension of VIF. However, if you omit the extension, these
are the extensions that are assumed. Consider the following example.
VMAKE /Lmyfile /Vmyfile
In this case, VMAKE would assume you mean MYFILE.LST and MYFILE.VIF.
To point to files in different directories, you must specify the entire
path, as in this example:
VMAKE /Lc:\myprog\myfile.txt /Vd:\vifs\myprog
This would look for the LST file (named MYFILE.TXT in this case) in the
directory C:\MYPROG. The VIF file (named MYPROG.VIF, since no extension
was specified) would be placed in the directory D:\VIF. If the directory
does not exist, an error will result.
NOTE: VMAKE will not allow you to test files that have zero length.
===========================================================================
USING VALIDATE
===========================================================================
NOTE: For a summary of VALIDATE syntax, type VALIDATE /? at the DOS prompt.
----------------
Running VALIDATE
----------------
The simplest way to run VALIDATE is to type VALIDATE at the DOS prompt.
This will read the file VALIDATE.VIF and test every file in the list.
If the VIF file is missing, VALIDATE will fail (after displaying an error
message) and set an error level, which the calling program can check.
-----------------------
Command-Line Parameters
-----------------------
You can alter the behaviour of VALIDATE by using command line switches and
parameters, as follows:
PARAMETER MEANING EXAMPLE
--------- -------------------- ----------------------------------------
/V Alternative VIF file VALIDATE /Vmyfile.vif
/D Diagnostic mode VALIDATE /d
The default extension for the VIF file is VIF (although you can use other
extensions, if you wish). Consider this example:
VALIDATE /vMYFILE
This would test the files listed in MYFILE.VIF, since the VIF extension is
assumed if none is specified.
Diagnostic mode shows VALIDATE's progress on a step-by-step basis. It is
not really necessary to have a diagnostic mode, but it was added for people
who wish to see the program DOING something when they test it.
------------------------------
Using VALIDATE in a Batch File
------------------------------
When testing for a DOS ERRORLEVEL in a batch file, you must test the
highest value first, since the command IF ERRORLEVEL is considered "true"
if the ERRORLEVEL is the cited value or higher. See your DOS manual for
details.
-----------------
Renaming VALIDATE
-----------------
For added security, you can rename VALIDATE.EXE to something else. However,
a curious user can still find out what it is by using the /? parameter.
For example, if you rename VALIDATE.EXE to XYZ.EXE and the user enters the
command XYZ.EXE /? he will still see the usual information screen.
----------------------------
Custom Encryption Parameters
----------------------------
VALIDATE encrypts the VIF file to ensure that the user can not successfully
alter (or even understand) the VIF file. However, since all standard
versions of the VALIDATE package use the same copy of VMAKE, it is possible
that a user could circumvent your security if (a) he knew what VALIDATE is
and (b) he had a copy of the VALIDATE package.
If you think your program may be exposed to users who are both sophisti-
cated and devious, you can do one of the following:
- Order the Turbo Pascal source code (to modify the encryption yourself)
- Order the custom encryption version of the VALIDATE package
See the file ORDER.FRM for prices.
===========================================================================
ERROR CODES
===========================================================================
NOTE: If there is a program problem with VMAKE or VALIDATE, the program
may terminate with a "Runtime Error". These should not be confused with
the error codes that are set by the program when they function properly.
If a runtime error occurs, the program will display the message "Runtime
Error" and give the code. This code should be reported to Pinnacle
Software for analysis.
The following error codes are returned by VMAKE:
ERRORCODE REASON
--------- ----------------------------------------------------------------
0 No problems
200 Could not open the LST file
201 The LST file was empty
251 Could not create the VIF file
254 Error while writing to the VIF file
255 Help screen was displayed (e.g. VMAKE /?)
The following error codes are returned by VALIDATE:
ERRORCODE REASON
--------- ----------------------------------------------------------------
0 No problems (program does not display anything on the screen)
200 Could not open the VIF file
201 The VIF file is empty
249 The test file (i.e. a file listed in the VIF file) is missing
250 The test file could not be opened (See Note)
251 The test file was empty
254 The test file has been altered
255 Help screen was displayed (e.g. VALIDATE /?)
An open error (error code 200) might occur if the computer does not have
enough file handles, or if there is a disk read error. This is not
necessarily a sign of tampering. The file handles issue is discussed in
your DOS manual; consult the discussion of FILES= in the section about the
CONFIG.SYS file.
Most programming languages provide a means of testing the return code of
a program to which you have "shelled". For example, in Turbo Pascal you
can check the low byte of the DOSEXITCODE variable after using the EXEC
procedure.
===========================================================================
HOW RELIABLE IS VALIDATE?
===========================================================================
The information in the VIF file is encrypted, and some misdirection is
incorporated to foil attempts to crack the code. The VMAKE and VALIDATE
programs themselves have been compressed, which makes them difficult to
reverse engineer.
If you can successfully fool VALIDATE, and demonstrate the method to us, we
will give you a $45 credit towards registration of any of our other
products. Also, when we correct the problem, we will give you a free
upgrade of the VALIDATE package.
===========================================================================
SUGGESTIONS FOR USING VALIDATE
===========================================================================
If VALIDATE is testing many files (or several exceptionally large files),
you might consider checking the files only once per day, or once per week,
depending on the application. (Of course, all of the files should be
checked during the installation process.)
Another alternative is to maintain two VIF files: one for a full check on
a weekly basis, and one which checks the most important files every time
the main program is run.
===========================================================================
WATCH VALIDATE IN ACTION
===========================================================================
The VALIDATE package contains a batch file, named START.BAT, which provides you
a demonstration of the VALIDATE program. To run the demo, enter START at
the DOS prompt. The START demo also explains how you can purchase a fully
registered copy of the VALIDATE package.